EN FR
EN FR


Section: Software

The TLA+ proof system

Participants : Stephan Merz, Hernán-Pablo Vanzetto.

TLAPS, the TLA+ proof system, is a platform for developing and mechanically verifying TLA+ proofs. It is developed at the Joint MSR-INRIA Centre. The TLA+ proof language is declarative and based on standard mathematical logic; it supports hierarchical and non-linear proof construction and verification. TLAPS consists of a proof manager that interprets the proof language and generates a collection of proof obligations that are sent to backend verifiers that include theorem provers, proof assistants, SMT solvers, and decision procedures.

TLAPS is publically available at http://msr-inria.inria.fr/~doligez/tlaps/ , it is distributed under a BSD-like license. It handles the non-temporal part of TLA+ with the exception of computing enabledness predicates and can currently be used to prove safety, but not liveness properties. Its backends include a tableau prover for first-order logic, an encoding of TLA+ in the proof assistant Isabelle, as well as an SMT translation and a custom decision procedure for Presburger arithmetic. Our main contribution in 2011 has been the implementation of a new SMT backend that handles formulas including linear arithmetic, elementary set theory, functions, tuples, and records (see section  6.4 ). Other efforts in 2011 concerned improvements and stabilization of the fingerprinting technique that avoids reproving proof obligations that have remained unchanged since a previous prover run.